ABS FX Grid
MetaTrader 5 Expert Advisor · v1.00
A fully automated grid trading bot for the three CAD crosses — AUDCAD, GBPCAD and NZDCAD — running all three pairs from a single chart. Every pair has its own independent Buy and Sell basket, with fundamental filters built around what moves these currencies: central-bank decisions and key economic news.
View Live Signal on MQL5 →Grid trading carries a high risk of loss. Past performance does not guarantee future results. Always test on a demo account before going live.
Provided to registered buyers of ABS FX Grid for personal reference. Not for redistribution or public posting.
Trading Logic
ABS FX Grid is a grid trading bot for the CAD crosses. From one chart it trades:
- AUDCAD, GBPCAD and NZDCAD — each can be switched on or off
- Buy and Sell — every pair runs its own Buy basket and its own Sell basket, independent of the others
- A grid of positions per basket rather than a single trade, closed together at a basket Take Profit
- A lot size that scales with your balance, with optional minimum and maximum lot limits
How a Basket Works
- All management — Take Profit, grid adds, pruning — runs automatically. There is no broker-side TP: the EA closes the basket itself.
- A new basket only opens on a side that has no open basket for that pair. Up to six baskets can exist (3 pairs × Buy and Sell), limited by the same-CAD-direction cap.
- New trades are filtered (spread, volatility, news, rate expectation). Closing is never filtered: basket TP, pruning and the drawdown stop always run.
All three pairs share CAD as the quote currency. That gives the bot three different base currencies (AUD, GBP, NZD) to trade against one common currency — and it is also why the EA watches how many baskets point the same way on CAD (see 04).
Minimum Requirements
| Property | Value |
|---|---|
| Symbols | AUDCAD, GBPCAD, NZDCAD |
| Direction | Buy & Sell |
| Chart | Any one chart, any timeframe |
| Platform | MetaTrader 5 |
| Account mode | Hedging |
| Account type | ECN / RAW |
| Min leverage | 1:100 |
| Recommended capital | $2,000+ |
The $2,000+ recommendation follows the default lot sizing of 0.01 lot per $2,000 of balance (see 04). Below that, the entry lot stays at the 0.01 minimum, so the risk is larger relative to the account. With three pairs and two sides, several baskets can be open at the same time — keep enough free margin for that.
The grid holds several positions on the same pair, and a pair can hold a Buy and a Sell basket at once. On a netting account those positions would merge into one, and the grid logic cannot work as designed.
Installation & Initial Setup
- Make sure AUDCAD, GBPCAD and NZDCAD are available at your broker (show them in Market Watch).
- Open one chart — for example AUDCAD — and drag ABS FX Grid from the Navigator onto it. The EA trades all enabled pairs from this single chart.
- In the Inputs tab, configure parameters according to this guide (the defaults are a sensible start).
- Enable Algo Trading — the button in the MetaTrader toolbar must be active — and allow algo trading in the EA's Common tab.
- Check the Experts tab: on start the EA prints any symbol mapping (e.g.
Symbol AUDCAD -> AUDCAD.raw) and, if a news or rate filter is on, the calendar download.
Do not attach ABS FX Grid to three charts with the same Magic Number — each copy would trade all three pairs. To run a second, separate copy on the same account, give it a different Magic Number.
If your broker adds a prefix or suffix (AUDCAD.m, m.AUDCAD), leave the prefix/suffix inputs empty: the EA detects them from the chart symbol. Only set them by hand if detection fails — the Experts tab tells you which symbol it could not find.
General & Lot Settings
1. General Setting
| Parameter | Default | Description |
|---|---|---|
| Magic number | 1001 | Identifies this EA's trades. Use a different number for each separate copy on the same account. |
| Comment | ABS FX Grid | Label attached to every order, visible in the trade history. |
| Max Spread | 30 | No new trades (entries or grid adds) while the pair's spread is above this many points. Closing is not affected. |
| Trade AUDCAD / GBPCAD / NZDCAD | true | Switch each pair on or off. At least one must be on. |
| Broker symbol prefix / suffix | empty | Empty = detect from the chart symbol. Set only if your broker's names are not found. |
| Max baskets in the same CAD direction | 2 | Caps how many baskets may hold CAD the same way at once (1–3). New first entries only — grid adds are never blocked. |
The same-CAD-direction cap
A Buy on AUDCAD, GBPCAD or NZDCAD sells CAD; a Sell buys CAD. Three Buy baskets are effectively one CAD short three times over — and a strong CAD move hits all of them at once. The cap limits how many baskets may point the same way:
1— at most one CAD-short and one CAD-long basket at a time (the most conservative)2— the default3— no limit with three pairs
Baskets on opposite sides do not count against each other (a Buy AUDCAD with a Sell GBPCAD largely cancels the CAD part). When the cap is full, the panel shows CAD LIMIT 2/2 on the blocked side.
2. Lots size Progression
| Parameter | Default | Description |
|---|---|---|
| Account balance per 0.01 lot | 2000 | Sizes the first trade of each basket: 0.01 lot per this much balance. Example: $6,000 balance → 0.03 lot. |
| Min lot size per order | 0.01 | No order is smaller than this. 0 = the broker's minimum. |
| Max lot size per order | 0 | No order is larger than this — including grid adds after several lot step-ups. 0 = no limit. |
Grid adds follow a built-in lot progression, so lots can grow as a basket gets deeper. All lots are rounded to your broker's lot step.
The Max lot input is the simplest way to cap how large a deep basket can grow. It limits every single order, so a long grid keeps adding at that size instead of growing further.
Grid, Take Profit & Drawdown
A basket on the chart
The entry signal, grid spacing, lot progression, Take Profit and pruning rules are built into the EA and are not inputs. Your controls are the lot size, the lot limits, the filters and the drawdown stop.
3. Max Drawdown (emergency close-all)
| Parameter | Default | Description |
|---|---|---|
| DD measured in | Percent of balance | Percent, Money or Turn OFF. |
| Max DD % (of balance) | 80.0 | Percent mode: closes all ABS FX Grid trades on every pair when their combined floating loss reaches this % of the balance. |
| Max DD $ (deposit currency) | 500.0 | Money mode: the same, at a fixed loss amount. |
Grid trades have no individual stop loss. Losses are limited by the basket Take Profit and pruning working through pullbacks, by the lot limits, and in the last resort by the Max Drawdown close-all. Keep the drawdown stop active and set it to an amount you accept losing.
The real risk: a strong one-way move
A grid profits from pullbacks. Its weak point is a strong trend that runs without a meaningful pullback: the basket keeps adding, the lots step up, and the floating loss grows faster than pruning and the basket TP can work it off. On the CAD crosses that typically happens around a surprise from the Bank of Canada, the RBA, the BoE or the RBNZ — which is exactly what the news filter and the rate expectation filter are built for.
News Filter
Pauses new trades — first entries and grid adds — around high-impact releases for either currency of a pair. Basket TP, pruning and the drawdown stop keep running during a pause.
| Parameter | Default | Description |
|---|---|---|
| News Calendar history from | 2015.01.01 | How far back the calendar is downloaded on a live chart (used for backtests). |
| Pause on central-bank rate decisions | false | RBA, BoC, BoE, RBNZ interest-rate decisions. |
| Pause on CPI releases | false | All CPI variants (headline, core, trimmed mean, CPIH …). |
| Pause on jobs data | false | Employment change, unemployment rate, claimant count. |
| Pause minutes before the event | 720 | Start of the pause before the release time. |
| Pause minutes after the event | 60 | End of the pause after the release time. |
| Pause the whole first Friday (US NFP) | false | Optional: no new trades on the first Friday of each month. |
- Per pair: a pair pauses when either of its currencies has an event. A CAD event pauses all three pairs; an AUD event pauses only AUDCAD.
- Any terminal language: events are picked by the calendar's event code (for example
boc-interest-rate-decision,cpi-yy), not by their translated names. - Live: the EA reads the MQL5 economic calendar itself and refreshes it every 6 hours.
- The Experts tab prints one line per pause, e.g.
News pause AUDCAD: CAD CPI … - no new trades, and the panel shows NEWS CAD CPI. - With the Info Panel on, each release of the enabled news types is marked on the chart's time axis for the chart pair's two currencies (orange-red = rate decision, gold = CPI, blue = jobs). Hover a marker for the time, event code and pause window.
Calendar times are broker-server times. For older history, the calendar may convert summer/winter time with today's offset, so backtest events can be about one hour off. A pause window of 60 minutes or more covers that.
Rate Expectation Filter
A fundamental filter that only lets new baskets open in the direction the next central-bank decisions are expected to point. It reads each currency's published economic data from the MQL5 economic calendar, forms a rate outlook for both currencies of a pair, and blocks new baskets that would trade against it.
- It works per pair — AUDCAD, GBPCAD and NZDCAD can each lean a different way.
- It only affects new first entries. Grid adds inside an open basket are never blocked by it, so a basket can always keep working toward its Take Profit.
- When the outlook gives no edge either way, the pair is neutral and may trade both sides (or pause — see the second input).
| Parameter | Default | Description |
|---|---|---|
| Mode | Off | Off, or Block entries against the bias (a neutral pair may open both sides). |
| Pause new entries when both banks are in the same phase at the same rate | true | When the outlook for both currencies is the same, no new baskets open on that pair until it changes. |
When a signal is skipped, the panel shows AGAINST RATE BIAS or EQUAL RATES pause, and the Rate expectation column shows the current outlook of each pair.
The filter is a rule-based reading of published data, not a forecast. Use it as a direction filter and judge it in backtests by drawdown, not only by profit. In the Strategy Tester it needs the saved news file — see 09.
How to Trade a Grid Bot
A grid bot builds its position over time instead of risking everything on one trade. That changes how you should size and manage the account:
- Allocate a portion of your capital, not all of it. Run ABS FX Grid on an amount you are comfortable seeing in drawdown.
- Withdraw profits at a defined interval. Set a target — for example +20% — and withdraw when it is reached, instead of leaving all profit exposed to the next drawdown cycle. You can test this cycle with the Backtest Simulation settings.
- Keep the Max Drawdown stop active. It is the hard limit that closes everything if conditions turn against the grid.
- Watch your CAD exposure. The same-CAD-direction cap and the news filter around Bank of Canada decisions matter most, because CAD sits in every pair.
- Review before re-depositing. If the drawdown stop ever fires, review what happened before restarting at the same size.
ABS FX Grid runs on a public MQL5 signal: mql5.com/en/signals/2396974. Judge it by deposits, withdrawals and the balance still at risk — not by the growth percentage alone. Signal results are historical and do not guarantee future performance.
Backtesting
7. Backtest Simulation
Simulates the profit-withdrawal cycle from 08. These settings only work in the Strategy Tester and have no effect on live trading.
| Parameter | Default | Description |
|---|---|---|
| Enable auto withdrawal | false | Turns the withdrawal simulation on. |
| Withdraw at % profit | 20 | When the balance is this % above the starting deposit, the profit is withdrawn and the balance returns to the starting deposit. |
Testing with the news or rate filter on
The economic calendar is not available inside the Strategy Tester, so the EA uses a saved copy:
- Attach ABS FX Grid once to a live or demo chart with a news or rate filter switched on. It downloads the calendar and saves
ABSFX_News.csvtoMQL5\Filesand to the sharedCommon\Filesfolder. - Run the backtest. The Journal shows
News filter: … events loaded from ….
- If the file is missing, the EA stops with a clear message instead of testing without its filters.
- Backtests on your own computer's agents read the file from
Common\Files. The MQL5 Cloud Network cannot access it — run optimizations with the news or rate filter on locally. - With all news and rate filters off, no file is needed at all.
Use “Every tick based on real ticks” or “1 minute OHLC” for results closest to live trading.
Info Panel
A live panel on the chart shows the account state and every basket of every pair. It is a single object: click it and drag it anywhere — the position is remembered for that chart.
| Parameter | Default | Description |
|---|---|---|
| Panel | Normal | Disable panel, Small, Normal or Large. The news markers on the chart are shown together with the panel. |
Account line
Balance, equity and the bot's floating P/L · drawdown vs the Max Drawdown limit (amber from 40% of the limit, red from 75%) · the current entry lot with the min/max lot limits · CAD baskets short / long vs the cap · an NFP-day note when that pause is active.
Pair rows — one BUY and one SELL row per pair
| Column | Shows |
|---|---|
| Pair / Side / Spread | The broker symbol, BUY or SELL, and the current spread (amber above Max Spread). |
| Trades / Lots / Float | Number of trades in the basket, total lots and floating P/L. |
| Breakeven / Basket TP / To TP | The basket's breakeven price, its Take Profit price and the points still to go. |
| Next grid / Next lot | Price of the next grid add and its lot. ^ = the next add uses a larger lot. |
| PF prune | Progress of profit-factor pruning: the current net result vs its target. |
| Status | What the side is doing or why it waits — see below. |
| Next news | The next enabled event for either currency, e.g. CAD RATE 10.28 16:45 (amber once its pause starts). |
| Rate expectation | The pair's current rate outlook and the side it favours (BUY, SELL or NEUTRAL). |
With the rate filter on, one extra line per currency shows its current outlook and policy rate.
Status values
| Status | Meaning |
|---|---|
| Wait Entry Signal | No basket; waiting for the entry signal. |
| BUY next M1 SELL next M1 | Signal present and all filters pass — the basket opens on the next bar. |
| IN GRID n | Basket open with n trades, waiting for TP or the next grid level. |
| ADD next M1 | Price is past the next grid level — a trade is added on the next bar. |
| ADD paused … | An add is due, but a filter blocks new trades (the reason follows). |
| PRUNE ready | The pruning target is reached — the paired trades close. |
| TP at M1 close | Price is past the basket Take Profit — the basket closes on the next bar. |
| SPREAD high High volatility | Spread above the max, or the market is too volatile for new trades. |
| NEWS CAD RATE NFP block | A news pause or the first-Friday pause is active. |
| CAD LIMIT 2/2 | The same-CAD-direction cap is full. |
| AGAINST RATE BIAS EQUAL RATES pause | A signal was skipped by the rate expectation filter. |
| NO DATA | Indicator history is not ready yet. |
Quick Start Checklist
- Open a hedging demo account at an ECN or RAW broker
- Set leverage to at least 1:100
- Fund the demo with $2,000 or more
- Show AUDCAD, GBPCAD and NZDCAD in Market Watch
- Attach ABS FX Grid to one chart (e.g. AUDCAD)
- Keep the defaults, or adjust per this guide — at least review Max lot and the Max Drawdown stop
- Optional: switch on the news filter (rate decisions first) and the rate expectation filter
- Enable Algo Trading and check the Experts tab for start-up messages
- Monitor the demo for at least 2–4 weeks
- Move to live only once you are comfortable with how the EA behaves on your broker
Demo results can differ from live trading because of execution speed and broker conditions. Trading carries risk of loss, and no step in this checklist guarantees a profit — see 13 — Risk Disclaimer.
Frequently Asked Questions
No. Attach ABS FX Grid to one chart; it trades every enabled pair from there.
Any. The EA uses its own internal timeframes, whatever the chart shows.
Yes. Switch the others off with the Trade AUDCAD / GBPCAD / NZDCAD inputs.
There is no per-trade stop loss. Baskets close at their Take Profit or through pruning; the Max Drawdown stop closes everything at your chosen loss limit, and the Max lot input caps how large orders can get.
Yes. Prefixes and suffixes are detected from the chart symbol automatically; you can also set them in the inputs.
Yes — migrate the chart with the EA as usual. With a news or rate filter on, the EA downloads the calendar on the VPS itself. After migrating, check the VPS journal for the News filter: MQL5 calendar line. If it shows News filter: no news data instead (the calendar was not ready when the EA started), migrate again a few minutes later.
A news or rate filter is on, but ABSFX_News.csv has not been created yet. Attach the EA once to a live or demo chart, then run the backtest again — or switch those filters off for the test (see 09).
- Algo Trading is enabled in the toolbar and in the EA's settings
- The account is a hedging account with enough free margin
- The panel's Status column — it names the reason: spread, volatility, news pause, CAD limit, rate bias, or simply waiting for an entry signal
- At least one pair is enabled and its symbol was found (Experts tab)
Risk Disclaimer
Trading foreign exchange and other leveraged financial instruments involves substantial risk of loss and is not suitable for all investors. Leverage can amplify both gains and losses. Grid strategies can accumulate large floating losses during strong, one-directional moves.
Past performance of ABS FX Grid, including its public MQL5 signal, does not guarantee future results. No automated strategy can ensure profitability under all market conditions, and no profit is promised or implied.
Always test on a demo account before trading with real money. Never trade with capital you cannot afford to lose. ABS FX Grid is a trading tool, not financial advice. You are solely responsible for your own trading decisions, position sizing and risk management.
This manual is provided independently by the seller for the personal reference of registered buyers only. Neither the seller nor MetaQuotes/MQL5 accepts liability for any direct or consequential loss, or loss of profit, arising from use of this product or the information in this manual.